package com.ls.lserp.modules.material.dao;




import java.util.List;

import com.ls.lserp.common.persistence.CrudDao;
import com.ls.lserp.common.persistence.annotation.MyBatisDao;
import com.ls.lserp.modules.material.entity.InventoryRequest;
import com.ls.lserp.modules.material.entity.MaterialOutInbound;
import com.ls.lserp.modules.material.entity.StockCheck;
import com.ls.lserp.modules.material.entity.StockCheckExportEntity;

@MyBatisDao
public interface StockCheckDao extends CrudDao<StockCheck>{
	/**
	  * @Title: findInventoryRequestDetailList
	  * @Description: 库存申请
	  * @param @param materialOutInbound
	  * @param @return
	  * @return List<MaterialOutInbound> 
	  * @throws
	  */
	public List<MaterialOutInbound> findInventoryRequestDetailList(MaterialOutInbound materialOutInbound);

	/**
	  * @Title: findRequestDetailsList
	  * @Description: 仓库集
	  * @param @param materialOutInbound
	  * @param @return
	  * @return List<MaterialOutInbound> 
	  * @throws
	  */
	public List<StockCheck> findWarehouseList(StockCheck stockCheck);
	/**
	  * @Title: findRequestDetailsList
	  * @Description: 货架集
	  * @param @param materialOutInbound
	  * @param @return
	  * @return List<MaterialOutInbound> 
	  * @throws
	  */
	public List<StockCheck> findRackList(StockCheck stockCheck);
	
	/**
	  * @Title: findRequestDetailsList
	  * @Description: 库存集
	  * @param @param materialOutInbound
	  * @param @return
	  * @return List<MaterialOutInbound> 
	  * @throws
	  */
	public List<StockCheck> findQuantityList(StockCheck stockCheck);
	
	/**
	  * @Title: findRequestDetailsList
	  * @Description: 插入明细表
	  * @param @param materialOutInbound
	  * @param @return
	  * @return List<MaterialOutInbound> 
	  * @throws
	  */
	public int insertDetails(StockCheck stockCheck);

	/**
	  * @Title: findRequestDetailsList
	  * @Description: 盘点明细
	  * @param @param materialOutInbound
	  * @param @return
	  * @return List<MaterialOutInbound> 
	  * @throws
	  */
	public List<StockCheck> findTakeDetailList(StockCheck stockCheck);
	
	/**
	  * @Title: findRequestDetailsList
	  * @Description: 导出
	  * @param @param materialOutInbound
	  * @param @return
	  * @return List<MaterialOutInbound> 
	  * @throws
	  */
	public List<StockCheckExportEntity> makeStockCheckList(StockCheck stockCheck);
	
	/**
	  * @Title: findStockList
	  * @Description: 获取盘点明细
	  * @param @param stockCheck
	  * @param @return
	  * @return List<stockCheck> 
	  * @throws
	  */
	public List<StockCheck> findStockList(StockCheck stockCheck);
	
	/**
	  * @Title: updateTakeDetail
	  * @Description: 插入盘点明细
	  * @param @param stockCheck
	  * @param @return
	  * @return List<stockCheck> 
	  * @throws
	  */
	public int updateTakeDetail(StockCheck stockCheck);
	/**
	  * @Title: updateTakeDetail
	  * @Description: 盘点完成
	  * @param @param stockCheck
	  * @param @return
	  * @return List<stockCheck> 
	  * @throws
	  */
	public int updateTakeStatus(StockCheck stockCheck);
	/**
	  * @Title: updateTakeDetail
	  * @Description: 盘点完成
	  * @param @param stockCheck
	  * @param @return
	  * @return List<stockCheck> 
	  * @throws
	  */
	public int updateWarehouseStatus(StockCheck stockCheck);
	
	
}
